package leetcode
/*
集合 s 包含从 1 到 n 的整数。不幸的是，因为数据错误，
	导致集合里面某一个数字复制了成了集合里面的另外一个数字的值，
	导致集合 丢失了一个数字 并且 有一个数字重复 。
给定一个数组 nums 代表了集合 S 发生错误后的结果。
请你找出重复出现的整数，再找到丢失的整数，将它们以数组的形式返回。

示例 1：
输入：nums = [1,2,2,4]
输出：[2,3]。
- 给出一个数组，数组里面装的是 1-n 的数字，由于错误导致有一个数字变成了另外一个数字，
要求找出重复的一个数字和正确的数字。
根据下标比对就可以找到哪个数字重复了，哪个数字缺少了。
*/
func findErrorNums(nums []int) []int {
	//对比下标和数字
	m := make([]int,len(nums))
	res:=make([]int,2)
	for _,n := range nums{
		if m[n-1]==0{
			m[n-1]=1
		}else{
			res[0]=n
		}
	}
	for i:=range m{
		if m[i]==0{
			res[1]=i+1
			break
		}
	}
	return res
}